home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Magnum One
/
Magnum One (Mid-American Digital) (Disc Manufacturing).iso
/
d16
/
winutil2.arc
/
TAME241.ARC
/
TAME.DOC
< prev
next >
Wrap
Text File
|
1990-11-01
|
46KB
|
1,322 lines
Tame
Release 2.41
Copyright 1988-1990 by PowerSoft and David G. Thomas
Table of Contents
Tame Users Guide .................................................. 1
Abstract ....................................................... 1
Copyright ...................................................... 1
Applications that definitely NEED Tame ......................... 2
Seeing if your applications need Tame .......................... 2
Running Tame ................................................... 3
If your program runs slower with Tame .......................... 4
Placing Tame in a batch file ................................... 4
Using Tame with other multi-taskers ............................ 4
Advanced Tame concepts ......................................... 5
Setting the frequency value .................................... 6
Setting default options ........................................ 7
The Tame status ................................................ 8
Tame Command Reference ............................................ 10
Task switching options ......................................... 10
Fine tuning for an application ................................. 11
Other options .................................................. 14
Multi-tasking Specifics ........................................... 16
DESQview ....................................................... 16
Double Dos ..................................................... 16
Omniview ....................................................... 16
Topview ........................................................ 16
VM/386 ......................................................... 16
Windows 3.0 and Windows/386 .................................... 16
Application Specifics ............................................. 17
Tame Upgrades ..................................................... 18
Tame Users Guide
Release 2.41
Copyright 1988,1989,1990 by PowerSoft
and David G. Thomas
Abstract
If you run in a multi-tasking environment such as DESQview, you may have
noticed that some programs really slow down the whole system, even though
they seem to be doing nothing except waiting for you to type something.
When I first encountered this type of program, I accepted it as part of the
price that is paid for multi-tasking. The Tame program proves that this is
not the case. In fact, the Tame program will significantly reduce the
overhead of many programs, without hindering their performance when they
really are working.
Tame is designed to work with any DOS based multi-tasking environment, and
it contains special hooks for use in DESQview, Double Dos, Omniview,
VM/386, and Windows. If you use Tame with another multi-tasker, please let
me know whether or not it helps.
Copyright
This program is copyrighted material. It may be freely distributed. If
you use Tame to speed up your applications, please contribute to the
author. If you send $20 or more, you will receive a registered copy of
the latest version of the program, and also a printed manual. If you have
any questions or comments, I may be reached at the PowerSoft BBS,
(404) 928-9294. Contributions should be mailed to the following address.
David G. Thomas
c/o PowerSoft
P.O. Box 956338
Duluth, GA 30136
Applications that definitely NEED Tame
The following applications will continually poll the keyboard, waiting for
you to press a key. Tame has been proven to significantly reduce the
overhead on all these applications. For each application listed here,
there are probably 100 more that need Tame!
See the end of this document for special options that may be desirable with
these programs.
Brief, by solution Systems
EM4105
Epsilon
Harvard Graphics
Kedit, by Mansfield Computing
Lucid 3D, by PCSG
Lotus 123, by Lotus Development Corp.
Lotus Agenda, by Lotus Development Corp.
Lotus Manuscript, by Lotus Development Corp.
Microsoft editor, by Microsoft
Norton Commander, by Peter Norton Computing
PCBOARD, by Clark Development Company, Inc.
Plan Perfect by Word Perfect Corp.
Sidetalk, by Lattice
Telix by Exis Inc.
Tornado Notes by Micro Logic Corp
Wildcat BBS Systems
Word Perfect, by Word Perfect Corp.
Word Perfect File Manager
ZCOMM, by Omen Technology
Seeing if your applications need Tame
Any program that uses CPU cycles looking for keyboard input needs Tame.
The best way to see if a program does this is to run a simple test. You
should test all your favorite programs that you spend time entering data
with. This includes programs such as word processors, spreadsheets,
editors, and DOS shells.
One way to see if a program needs tame is to use Tame to run the program,
and see what happens. You may evaluate whether or not Tame is effective
by looking at statistics generated with the Tame command, or you may use
one of the many standard CPU benchmarks to test its effectiveness.
To test a program with Tame, be sure you are in DESQview or another
supported multi-tasking system, and type the following command line.
TAME-RES
Now, run your program, and work in the program for a little while, then
exit normally. Type the following command line to obtain a summary of Tame
activity.
TAME /STATUS
The displayed totals include the number of keyboard polls that the program
performed. If this number small or zero, then Tame may not be needed with
the application. With some extremely keyboard-hungry programs, the number
of keyboard polls can number into the thousands.
A second, and more direct way to test the effectiveness of Tame is to run
the application without Tame, and simultaneously run tame with the /Geiger
option in another task. This is done with the following command.
TAME-RES
TAME /GEIGER
You will hear ticks that indicate how loaded the CPU is. If the ticks slow
considerably when you are in the application, it probably needs Tame. If
this is the case, run TAME-RES, and re-run the application. The ticks
probably do not slow nearly as much as before. This is because Tame keeps
your background tasks running at nearly full speed, at least while you are
not actively needing the CPU.
If you don't trust the Geiger counter that is built into Tame (you may
think that I have "loaded the dice"), try a more standard CPU benchmark,
such as Norton's System Information (SI) program. To do this, load Tame in
one task, then execute your program in that same task. Wait until the
application is idle, and waiting for keyboard input. Your program is now
being Tamed. Now, switch to another task and run the benchmark program.
Try this again without Taming the first program (Either type TAME /OFF or
TAME /Uninstall). If the benchmark indicates that the CPU is faster with
Tame, then you know it is helping. Also, experiment with which program
is in the foreground and which is in the background. This experiment is
necessary if you have set the DESQview background task priority to a very
low number. In any event, it is informative, since it indicates the amount
of processing time that the background can get while you are using that
application.
Running Tame
Tame is composed of a resident (TSR) program, and also a controlling
program. The resident portion of Tame must be loaded before running the
main Tame program. This is done with the TAME-RES command. For example,
the following command lines will run Lotus 123 with Tame active.
TAME-RES
LOTUS
If you always want Tame to be used, you may create a batch file (possibly
named RUNLOTUS.BAT), with the following command lines.
TAME-RES
LOTUS
A general purpose variation of this batch file comes with Tame, and is
named TAME-RUN.BAT. Using the batch file, the following command line will
do the same thing as the previous examples.
TAME-RUN LOTUS
If you normally execute the program with the DESQview "Open Window" menu,
you will need to modify the definition of the window. To do this, use the
"CP" (for Change Program) option of the "Open Window" menu, and change the
Program to TAME-RUN (or your custom batch file) and add what was previously
the Program to the beginning of the command line parameters.
The TAME-RES command has some of the functionality of the TAME-RUN command
built into it, with a few restrictions. It must run a .COM or .EXE file,
and the full path name of the program must be specified. For example, the
following will Tame Lotus without using a batch file.
TAME-RES C:\123\LOTUS.COM
A variation of this syntax is available when a "cloned" TAME-RES is being
used. In this case, you may preset the Tame options that work best with
LOTUS, and automatically invoke LOTUS whenever the cloned copy of TAME-RES
is run.
If your program runs slower with Tame
In some cases, the program may initially run slower (or "feel" choppy) with
Tame installed. This is frequently corrected by a few steps that will tune
Tame for the application. First, try specifying the /Max parameter
(described below) to increase the number of polls allowed before Tame tries
to switch tasks. A good value to try is /MAX:32,3. In some cases,
changing /Max will have little effect if /KeyIdle is also specified. This
is the case with most well-behaved programs that issue the keyboard idle
interrupt.
If the program prints very slowly, try the /PARallel option. This allows
Tame to watch the parallel port, and will not invoke a task switch while
the port is being used. For example, the following command lines should be
used to run Word Perfect.
TAME-RES
TAME /PARALLEL
WP
Placing Tame in a batch file
If you run your application with a batch file, you may like to add Tame to
that batch file. The only problem here is the fact that different programs
like different Tame options, and also some programs will run other programs
using a DOS Shell. Tame has special options for dealing with this
situation. The following batch file will run Lotus 123, and will restore
the original Tame parameters before exiting.
:* It is assumed that TAME-RES
:* has already been loaded
:*
TAME /GETALL:TAME_123 /ON /MAX:3,0
123
TAME %TAME_123%
SET TAME_123=
Using Tame with other multi-taskers
Tame has special hooks to work very effectively with DESQview, Windows,
Omniview, VM/386, Double Dos and Topview compatibles. Tame may be used
with other multi-tasking environments, but may not be quite as effective.
Also, you may need to include a command line option to specify the method
that Tame should use to give idle time to the other tasks. The /KeySwitch
method will be effective with programs that are polling the keyboard, and
are not polling any other devices. It may not be compatible with some
applications such as communications programs. The /HaltSwitch option is
compatible with most programs, but may not be effective, depending upon
the multi-tasking software being used. In either case, run Tame as normal,
and Tame will default to the /HaltSwitch task switching option. The
following command will run Lotus 123 in an environment that is not directly
supported.
TAME-RES
LOTUS
If you use a multi-tasker that Tame is not effective with, I would like you
to contact me. I need to know some technical data regarding how to detect
and control the multi-tasker. If it is feasible, I will add direct support
for that multi-tasker to the Tame product.
Advanced Tame concepts
Tame works by detecting when a program is continually polling the keyboard,
and does its best to allow the multi-tasking software to switch to another
task. It detects that a program is polling the keyboard after 3
successive keyboard polls that occur within 1/18 of a second, and during
that time, the program does not write to the screen or issue any DOS
requests. When the application polls the keyboard a fourth consecutive
time, Tame checks one last time for a key-press, and if a key was not
pressed, it tries to switch the task.
This threshold may be increased or decreased using the /FREQUENCY:n,m
option, where n is the main threshold. The n parameter specifies how many
consecutive polls that may occur in a single PC clock tick before Tame
switches tasks. There are 18.2 clock ticks per second, so the "true"
frequency is actually 18.2 times the value of n. If n is too low, then
Tame will switch tasks while the application really is working. If it is
too high then Tame may never switch tasks. Unfortunately, a "one size fits
all" value of n is not possible, since it depends largely on the speed of
the machine, as well as the software that is being used.
A reasonable value for n will be computed by Tame if you specify /Frequency
with no parameters. This is done using a very crude formula based on the
speed of the CPU. Since the CPU speed measurement can take a few seconds,
it is recommended that this feature be used only one time, and an actual
value is specified on subsequent runs.
The /FREQUENCY option restricts the time period that Tame is allowed to
count keyboard polls. This allows Tame to measure the amount of real work
that the application is doing, where more polls per clock tick are
associated with less actual work being done by the application.
In some instances, it may not be appropriate to watch the clock while
accumulating keyboard polls. This is the method that Tame used prior to
release 2.2, and is very effective in many instances. It also happens to
be much more easily tuned, since the values do not normally depend on the
speed of the machine. This may be done by specifying /MAX:n,m option,
where n is the main threshold. If n or m is much too low, then Tame will
switch tasks while the application really is working. If it is too high
then Tame will not switch tasks until long after the program has settled
into a polling pattern, reducing the effectiveness of Tame for a brief
period after each key is pressed. Since most programs are capable of
polling 100 to 300 times per second, these parameters indirectly correspond
to an "idle time limit" that is enforced by Tame.
After Tame detects excessive keyboard polling, a second threshold is used.
This threshold is normally much smaller than the initial threshold, and
defaults to 2. In effect, Tame will allow 3 keyboard polls, switch tasks,
and then switch tasks on every third successive keyboard poll until a key
is pressed, or the program does something besides poll the keyboard. This
allows the first threshold to be raised to a high number to accommodate
some programs, without significantly sacrificing the effectiveness of Tame.
In most cases, the default of 2 for the second threshold is adequate, abut
it can be lowered all the way to zero if desired. It may be changed by
specifying a second parameter of the /Max or /Frequency option.
Some applications will grab the timer interrupt that always occurs 18.2
times per second. In many cases, this interrupt takes a lot of processing
time, but really provides very little utility. To avoid wasting processing
time servicing the timer interrupt, you may prevent the application from
controlling the timer interrupt by specifying the /NOTIMER option. In many
cases, the timer interrupt may be used to keep a clock running on the
screen. This clock may not be worth much to you when you consider the
amount of processing time it uses. For example, the following commands
will run the Brief editor, (as long as the auto-save feature of Brief is
disabled), and will gain a significant amount of processor time for
background processes.
TAME-RES
TAME /NOTIMER
B
Some applications spend a lot of time polling the system clock, normally
for the purpose of an maintaining an on-screen clock while it is waiting
for other devices to have a character ready. The /TIMEPOLL option
instructs Tame to treat the date and time query in a manner similar to the
keyboard poll, and yield the time slice after successive date or time
queries. The following commands run PCBOARD, which keeps an on-screen
clock while waiting for the communications port.
TAME-RES
TAME /TIMEPOLL
PCBOARD
Most applications will also benefit by specifying /NoBackGround. This
option is only available with DESQview, and should not be used with
communications programs. When this option is set, Tame will set the task
to not run in the background when it is polling. This will completely shut
down the task until it is brought into the foreground. When the task
becomes active again, Tame will restore the task status, to again allow it
to run in the background. This automatic mode switching is extremely
effective with most application programs.
Setting the frequency value
Tame will compute a nominal value for the frequency threshold when you
specify /Frequency with no parameters. This is done using a very crude
formula based primarily on the speed of the CPU. In many cases, this
number is adequate. However, when computing this number, Tame does not
factor in any special characteristics of a specific application program.
To tune the frequency for a specific application, some real measurements
are needed.
Start by closing all tasks except a single task that is at the DOS prompt.
There is a batch file named TAMETUNE.BAT that comes with the Tame
distribution archive. Run this batch file and supply the name of the
application as an argument. This batch file will simply clear Tame totals,
and then run the application. Run the batch file, and bring the
application to its normal input state as soon as is possible. Let it
remain idle for at least ten seconds. During this time, Tame is counting
actual keyboard polls. After waiting ten seconds, exit the program as
quickly as possible. Tame will display a total number of polls per clock
tick that occurred while you were in the application. Since you know that
you were idle during most of that time, this number represents that rate
which the application is capable of polling the keyboard. A good value to
specify for the frequency parameter is between ¼ to ½ of the measured poll
rate.
Setting default options
A special version of TAME-RES with custom options may easily be created.
This is done by specifying the default options, and then using the /CLONE
option. This creates a new program that may be used in place of the
TAME-RES and TAME command combination. The following example creates
TAME-123.COM which defaults to the /NoBG and /FREQ:20,2 options.
TAME-RES
TAME /NoBG /FREQ:20,2
TAME /CLONE:TAME-123
Later, to load Tame resident and run Lotus 123, the following commands
could be used.
TAME-123
123
Alternatively, the following command could be used.
TAME-123 C:\123\123.EXE
Since this cloned version of Tame is set up with options specifically tuned
for 123, then we may wish to place the 123 command into the new COM file.
This is very convenient since it allows the Tamed version of 123 to be run
with a simple command. This may be done using the following commands.
TAME-RES
TAME /NoBG /FREQ:20,2
TAME /CLONE:123T,C:\123\123.EXE
Note that this creates a modified version of TAME-RES.COM that will
automatically run the 123 command - it does not modify the 123.EXE file in
any way.
Later, to run Tame and Lotus 123, the following command may be used.
123T
The Tame status
The /Status option prints many statistics that Tame accumulates while
running. These statistics are interesting to see, and they may also be
useful for tuning Tame and the multi-tasker. This is a sample status
report.
TAME release 2.40 (Non-Registered version)
Copyright 1988-1990 by PowerSoft and David G. Thomas
Tame Totals - Running in DESQview Task #2
Key Polls = 21,575
Time polls = 21,262
Task switches = 10,658
NoBG requests = 1,043
Elapsed Time = 4,172 seconds
(Active=7 Polling=29 Input=0 Yielded=4,137)
Poll rate = 10 polls per second
1 polls per tick
66 polls per running tick
Options: /ON /NoBackGround:10 /NoTimer /TimePoll /KeyPoll /NoSerial
/NoParallel /NoSYMbols /NoKeyIdle /Freq:20,2
Key Polls The total number of times the program polled to see if a
key has been pressed.
Time Polls The total number of times the program called DOS requesting
the current date or time.
Task Switches The number of times that Tame has forced a task switch.
NoBG Requests The number of times that Tame instructed DESQview run this
program only when it is in the foreground, not in the
background. This number can sometimes get very high
because Tame has no way to know if the program is currently
in the foreground, and, if it is, DESQview will ignore the
request.
Elapsed Time The total time that Tame has been running. This time is
measured in seconds. Tame does its best to break the time
down into useful categories which are shown on the next
line.
Active The amount of time the task was active doing real work.
Due to limitations in the measurement capabilities of Tame,
this may also include some time that was actually spent in
other tasks. This can happen when the multi-tasker
switches tasks before Tame sees a need to, which is the
normal case when the task is working very hard. The
measurement will be fairly accurate except times when this
task is working hard and other tasks are also working very
hard at the same time.
Polling The amount of CPU time this task spent polling the
keyboard.
Input The amount of time this task spent waiting for input. This
is different than polling because the task specifically
requested to not receive control until a key has been
pressed. This is the normal case when waiting at the DOS
prompt, unless Tame or another program is monitoring the
idle interrupt (INT 28h).
Yielded The amount of time that Tame has yielded to other tasks.
It is a measure of the time difference between when Tame
switches tasks, and when control is returned to tame.
Presumably, each other task has had a time slice during
this time.
Poll Rate This is the ratio of total polls (Key-polls plus
Time-polls) that has occurred per second, per tick and per
running tick. A tick is a measure that is internal to the
PC, and there are 18.21 ticks per second. The total number
of running ticks is a sum of active time plus polling time,
multiplied by 18.21 ticks per second. The polls per
active-tick is an indicator as to how fast the program
normally polls.
Tame Command Reference
Task switching options
The main purpose of Tame is to switch to another task when it detects that
the application is wasting time polling the keyboard. With DESQview,
Windows, Omniview, Topview, VM/386 and Double Dos, the native pause
function is used to switch tasks. Since Tame does not have specific
support for other multi-taskers, you need to set the task switching method
for these other multi-taskers. The following options specify the method
that Tame should use in order to switch tasks.
........
/DESQVIEW Use the native DESQview task switching method.
........
/DOUBLEDOS Use the native Double DOS task switching method.
........
/HaltSwitch The /HaltSwitch option specifies that Tame should execute a
HLT instruction when polling is detected. This instruction
has been found to cause some multi-taskers to immediately
switch to another task. This is the default task switching
method when Tame does not recognize the multi-tasker.
........
/KeySwitch The /KeySwitch option specifies that when the program polls
the keyboard, Tame should tell a white lie and say that a
key has been pressed. Most applications will immediately
read the key that Tame claimed was already pressed. Since
it really was not pressed, DOS will wait for a key to be
pressed. Most multi-taskers use this wait for a key press
as a queue to switch tasks.
The /KeySwitch option could be the most effective task
switching method in Tame, but it will not work with some
applications. Specifically, it will not work with any
applications that poll devices other than the keyboard, or
with programs that occasionally flush the keyboard buffer.
It is also not effective in Windows/386.
........
/OMNIVIEW Use the native Omniview task switching method.
........
/TOPVIEW Use the native Topview task switching method.
........
/VM386 Use the native VM/386 task switching method which happens
to be the same as /HaltSwitch.
........
/WINdows Use the native Windows task switching method. This is
effective with Windows 3.0 and Windows/386.
Fine tuning for an application
The default Tame options will work well with most programs. However,
portions of some programs will run slower with Tame. With other programs,
Tame may not reduce the CPU overhead, even though the program polls the
keyboard. The following options may be specified in order to adjust the
effects of Tame on a specific application program.
........
/INT15 This option improves the effectiveness of Tame with some
programs, but it does not work on all computer systems. In
fact, with some machines, it will lock up the system.
This option may be turned off by specifying /NoINT15.
........
/NoBG:n This option can be very effective with DESQview, and will
/FGonly:n be ignored if another multi-tasking system is being used.
When this option is specified, Tame will patiently do a
normal task switch n times. If no activity is detected,
then it will instruct DESQview to temporarily run this
program only while it is in the foreground. As soon as
this program is brought to the foreground, Tame will
instruct DESQview to again allow it to execute in the
background.
This option is extremely effective in preventing idle
background processes from slowing performance of working
processes. However, since its net effect is to completely
stop the task (if it is in the background), it is very
sensitive to how well the /Frequency or /Max parameters are
tuned. It also will not be effective with background tasks
which may remain idle for a period of time, and become
active based on external events (e.g. communications
program).
This option may be turned off by specifying /NoFGonly or
/BackGround.
........
/Freq:n,m This option may need to be used in order to fine-tune Tame.
It sets n as the number of consecutive keyboard polls per
clock tick that are acceptable before Tame decides that the
program is doing no other work except polling the keyboard.
This number defaults to 3. If this number is too low, then
Tame may switch tasks while the program is really working.
Specifying /Frequency with no parameters will allow Tame to
compute a reasonable value based on the speed of the CPU.
Since some application programs poll the keyboard at a high
rate (even while they are working), so this option does not
always provide advantages over /Max.
........
/KeyIdle:n This option works well with many programs that are gracious
enough to inform DOS that it is somewhat idle while it
polls the keyboard. When Tame detects this idle situation,
it will temporarily lower the /Max or /Frequency threshold
to n. This seems to work especially well with programs
that always inform DOS when it is idle, and the standard
threshold can be set to -1, telling Tame to never switch
tasks unless the application confirms that it is really
idle.
Beginning with DESQview release 2.26, this option is not
recommended for tasks that spend a lot of time at the DOS
prompt. This is because DESQview detects the fact that
Tame is watching the idle interrupt, and when at the DOS
prompt, DESQview goes out of its way to make sure the idle
interrupt is called, wasting some processing time
unnecessarily. This option is still very effective inside
some programs, and the problem only occurs at the DOS
prompt.
This option may be turned off by specifying /NoKeyIdle.
........
/NoKeyPoll This option instructs Tame to not look at keyboard polls.
This may be useful with some programs that poll the
keyboard whether they are working or not, but they poll the
date or time only during keyboard input. In this case, it
may be best to switch tasks based on the /TimePoll switch,
and ignore all key polls.
This option may be reversed with /KeyPoll.
........
/Max:n,m This option may need to be used if the application seems to
run slower with Tame. It sets n as the number of
consecutive polls that are acceptable before Tame decides
that the program is simply polling while waiting for input.
If this number is too low, then Tame may switch tasks while
the program is really working. If you suspect that the
program (or a particular aspect of the program) is slower
with Tame, raise this number. Parameters as high as a few
thousand may be needed in some cases. Note that the
/Frequency parameter may be used in place of /Max, and
/Frequency is generally more effective.
The second number may optionally be specified in order to
change the number of consecutive polls that Tame uses to
switch tasks after it has already determined that the
program is in a polling mode.
Either n or m may be -1, which indicates that Tame should
not cause a task switch based upon polling alone. This is
effective with programs that issue the keyboard idle
interrupt while they are polling the keyboard, and will
prevent Tame from switching tasks from intermittent
keyboard polls.
In some cases, changing /Max will have no apparent effect
when /KeyIdle is also specified. This is the case with
most well-behaved programs that issue the keyboard idle
interrupt.
........
/NoTimer This option prevents the application from processing the
timer interrupt that is normally issued by the PC 18.2
times per second. This option may disable some features of
the program, and should be used with caution. It is very
useful with programs that use a lot of CPU processing the
timer interrupt, and accomplish little.
This option works by intercepting the programs request to
be called by the timer interrupt. The program assumes it
will be called on a regular basis by the timer interrupt,
but, since Tame did not pass this request on to DOS, the
program will never be called by the interrupt.
This option may be turned off by specifying /Timer.
........
/PARallel This option instructs Tame to watch BIOS level parallel
port accesses, and if the port is frequently being used, do
not allow a task switch. This option is not normally
needed except with programs that bypass DOS in accessing
the printer. It should be used only when it is really
needed.
........
/SERial This option instructs Tame to watch BIOS level serial port
accesses, and if the port is frequently being used, do not
allow a task switch. This option is not normally needed
except with programs that use the serial port (e.g. comm
programs, bulletin boards, etc...). It should be used only
when it is really needed.
........
/TimePoll This option instructs Tame to consider a request for the
current time to be similar to a keyboard poll. This works
well with programs that constantly update an on-screen
clock. This option may have no effect when /KeySwitch is
specified. It is recommended that the second /Max or
/Frequency parameter have a minimum value of 2 when
/TimePoll is specified.
This option may be turned off by specifying /NoTimePoll.
Other options
........
/CLeaR Zero the totals that Tame displays on the status report.
........
/CLONE:file This command will make a special version of TAME-RES.COM
that has customized default parameters. The currently
active defaults will be placed into the cloned program. In
all cases, the /CLONE option should be the only command
line option that is specified. The cloned program is
specified with the file value, and should be named TAME-xxx
where xxx is an abbreviation for the application name. The
new TAME-xxx.COM may be run in place of the TAME-RES.COM
and TAME.EXE duo that is frequently needed when starting up
a new task.
........
/CLONE:f,c This command will make a special version of TAME-RES.COM
that has customized default parameters, and also will
automatically run a specific command. The currently active
defaults will be placed into the cloned program. In all
cases, the /CLONE option should be the only command line
option that is specified. The new COM may be run in place
of the TAME-RES.COM, TAME.EXE and program combination that
is frequently needed when starting up a new task. Note
that f is the name of the new COM file (without the .COM
suffix), and c is the full path name of the EXE or COM
style command that is to be run.
........
/Geiger:p,t,f This option starts up a sound that is similar to a Geiger
counter. This sound speeds up when the system is idle, and
slows as other tasks demand CPU resources. It is a very
useful tool for monitoring the effectiveness of Tame, since
it allows you to monitor the amount of CPU that an
application will use with and without Tame.
There are three optional parameters that may be specified.
The p parameter sets amount of time (in 1/18 second units)
between eich Geiger tick. The default value is one, which
will make about 18 ticks per second. Setting it to zero
will give a tick each time this task gets a time slice, but
the zero setting requires TAME-RES to be loaded. The t
parameter sets the amount of time each tick takes. The
default is based on the speed of the CPU. When t is zero,
a faint tick may still be heard. The f parameter sets the
frequency of the ticks, in Hertz.
........
/GETALL:var Get the current Tame parameters, and place them into an
environment variable named var. This option is designed
for use in a batch file, in order to restore the Tame
parameters after running a program.
This option has been tested with DOS versions 3.1 and 3.3,
but it will not work with DOS 3.2. I hope to correct this
problem with a future release. If you are running a
multi-tasker with DOS 2.0, I strongly recommend you upgrade
to DOS 3.x so you can take advantage of the protections
provided with the SHARE command.
........
/OFF Temporarily disable Tame, but leave it in memory for later
use.
........
/ON Enable Tame task switching. Tame is on by default.
........
/Status Display a summary report. The summary includes the number
of task switches that were initiated by Tame, the total
number of keyboard calls that the application made, and
also a summary of the current options.
........
/Uninstall Remove the resident portion of Tame from memory.
Multi-tasking Specifics
DESQview
Tame will automatically detect the presence of DESQview, and will use its
native task switching method. Tame has been tested with DESQview versions
2.01 through 2.26, and appears to work well with all versions.
If you set the /Frequency parameter correctly, the /NoBackGround option is
strongly recommended with most application programs. It will prevent idle
background programs from affecting performance.
Tame is most effective with DESQview when QEMM and DESQview are combined on
an 80386 based PC. Tame will also be effective on a machine with an 8088
or 80286 and should be used with many programs that do not have special
DESQview loaders.
Double Dos
Tame will automatically detect the presence of Double Dos, and will use its
native task switching method.
Omniview
Tame cannot tell the difference between DESQview and Omniview. After
loading TAME-RES, run TAME with the /OMNIVIEW option.
Topview
After loading TAME-RES, run TAME with the /TOPVIEW option.
VM/386
Tame does not specifically detect VM/386. After loading TAME-RES, you
should run TAME with the /VM386 option.
Windows 3.0 and Windows/386
Tame will automatically detect the presence of Windows, and will use its
native task switching method. When the /FREQ option is used, the optimal
value may vary drastically from the value used with other multi-taskers.
Tame can be much more effective than the idle detection that is built into
Windows. When using Tame, it is best to disable Windows idle detection for
each window that uses Tame. Also, if you had previously set a window to
run with a low background priority, you may wish to raise it and let Tame
decide when it really needs the CPU.
Application Specifics
Most applications may be run with Tame without any special parameters.
However, for best results, certain command line parameters may be desirable
for some applications. The following table represents the benefits and
effects of recommended command line parameters for each program when run
under DESQview. In most cases, tuning Tame so that /FREQuency and
/NoBackGround may be used is strongly recommended. Results may vary with
other multi-taskers.
Application Recommended options Results &
Program Side effects
Brief (use defaults) About 75% of the CPU overhead is
eliminated.
Brief /NoTimer /KeyIdle Nearly all the CPU overhead is
eliminated.
On screen clock and auto-save
feature are disabled.
Info Select /NoKeyPoll Nearly all the CPU overhead is
/TimePoll eliminated
Kedit (use defaults) Nearly all of the CPU overhead is
eliminated.
Lotus 123 (use defaults) Nearly all the CPU overhead is
eliminated.
Lotus Agenda (use defaults) Nearly all the CPU overhead is
eliminated.
Lotus /NoTimer /Max:-1 Nearly all the CPU overhead is
Manuscript /KeyIdle eliminated.
Lucid 3D (use defaults) Nearly all the CPU overhead is
eliminated.
Microsoft (use defaults) Nearly all the CPU overhead is
Editor eliminated.
Norton (use defaults) Nearly all the CPU overhead is
Commander eliminated.
Tame will also cover programs that
are run by the shell.
PCBOARD /TimePoll About 75% of the CPU overhead is
eliminated.
Quick C /NoTimer Nearly all of the CPU overhead is
eliminated.
Side effects (if any) of /NoTimer
have not been determined.
Sidetalk (use defaults) About 75% of the CPU overhead is
eliminated.
Tornado Notes /NoKeyPoll Nearly all the CPU overhead is
/TimePoll eliminated
Word Perfect /Parallel About 75% of the CPU overhead is
eliminated.
ZCOMM /Serial About 75% of the CPU overhead is
eliminated.
Tame Upgrades
The latest release of Tame will be continuously posted on the PowerSoft
bulletin board system at (404) 928-9294. Also, since Tame is distributed
as a shareware program, the latest release will normally be available on a
local bulletin board.
If you are a registered user, you have paid for a perpetual license, and
may register each new version of Tame using a utility program that is
provided with your registration kit. This utility may be run completely
from the command line. For example, the following command line will
register Fred Smith if the password of ABCD is correct.
TAME-REG "Fred Smith" ABCD
If you prefer, the registration program may be run without specifying any
arguments, and you will be prompted for the information.